#include "widget.h"
#include "ui_widget.h"
#include <QTimerEvent>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 开启定时器事件
    // timerId 是一个定时器的身份标识
    timerId = this->startTimer(1000);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::timerEvent(QTimerEvent *event)
{
    // 如果一个程序中存在多个定时器（startTimer创建的定时器），此时每个定时器都会触发timerEvent函数
    // 先判断这次触发是否想要的定时器触发的
    if(event->timerId() != this->timerId)
        return;

    // 获取计时器当前所显示数字
    int value = ui->lcdNumber->intValue();
    if(value <= 0)
    {
        // 停止计时器
        this->killTimer(this->timerId);
        return;
    }
    value -= 1;
    ui->lcdNumber->display(value);
}

